package com.winning.ds.role.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.winning.ds.common.entity.SysGncdEntity;
import com.winning.ds.role.entity.SysGncdGnanEntity;
import com.winning.ds.role.entity.SysGncdQxanEntity;
import com.winning.ds.role.entity.SysGncdTreeEntity;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @program: plat
 * @description:
 * @author: nxs
 * @create: 2018-07-20 15:28
 */
@Mapper
public interface MenuDao extends BaseMapper<SysGncdEntity> {

  // 菜单树
  List<SysGncdTreeEntity> queryMenuByAppid(String yydm);

  // 根据参数查询
  List<SysGncdTreeEntity> queryMenuByParams(Map queryParams);

  // 保存菜单
  void saveMenu(SysGncdEntity sge);

  // 判断是否为叶子节点并修改
  void updateisYzjd(String mcode);

  void updateisNotYzjd(String mcode);

  // 保存功能按钮
  void saveGnan(SysGncdGnanEntity sgge);

  void saveQxan(SysGncdQxanEntity sgge);

  // 查询功能按钮
  List<SysGncdGnanEntity> queryGnan(String sjcddm);

  List<SysGncdQxanEntity> queryQxan(String sjsjcddm);

  // 删除功能按钮
  void delGnan(String lsh);

  void delQxan(String sjlsh);

  // 根据流水号查询
  SysGncdGnanEntity queryGnanBylsh(String lsh);

  List<SysGncdGnanEntity> queryGnanByParams(Map<String, Object> queryParams);

  List<SysGncdQxanEntity> queryQxanByParams(Map<String, Object> queryParams);

  SysGncdQxanEntity queryQxanBylsh(String sjlsh);

  // 更新功能按钮
  void updateGnan(SysGncdGnanEntity sgge);

  void updateQxan(SysGncdQxanEntity sgge);

  // 查询菜单详情
  SysGncdEntity queryGncdInfo(String mcode);

  // 删除菜单
  void delGncd(String mcode);

  // 更新菜单
  void updateGncd(SysGncdEntity sge);

  //根据菜单代码和功能代码查询
  SysGncdGnanEntity queryGnanByGndm(String cddm, String gndm);
}
